1. Technical Field
The present invention is directed to an apparatus and method for generating a graphical representation of an estimated time of completion of a server request taking into account server processing time.
2. Description of Related Art
The use of graphical progress bars to inform a user of the amount of progress in downloading a data file from a server is generally known in the art. These progress bars often provide a graphical indication of the percentage of a file that has been downloaded and the percentage left to be downloaded. Many times the graphical indication is accompanied by download rate information and an estimated remaining time to download the file.
These progress bars are limited in that the graphical indication of progress is only based on the size of the file being downloaded and the amount of the file already downloaded. The estimated remaining time to download the file is based only on the download rate and the remaining amount of data to be downloaded. These prior art progress bars only refer to the actual data transfer and do not provide any information regarding the actual preparation, on the backend server, of the data being downloaded.
Many times, dynamically created content, such as webpages and files, are bound to operationally intensive processes running on backend servers. The time required to perform these operationally intensive processes significantly impacts the time required to fulfill a content request from a client device. Because known progress bars do not account for this backend processing and preparation of the data to be downloaded, the known progress bars are inaccurate and provide a false indication to the user of the estimated time of completion of the content request.
Thus, it would be beneficial to have an apparatus and method for graphically depicting an accurate estimated time of completion of a content request as well as the progress toward completion of the content request. It would be beneficial for such a graphical depiction to account for operationally intensive processes being performed on the backend server to prepare the data for download to the requesting client device.